def bar(self, x):
    return x * 2


class B:
    foo = bar


b = B()
print(bar)
print(b.foo(9))


def impl(self, x):
    return f"impl got {x}"


class Demo:
    # call 是Python的内置特殊方法，用于使对象实例可以像函数一样被调用
    # 当类定义了 call 方法后，其实例就可以使用 instance() 语法调用
    # 在代码中，__call__ = impl 是将 impl 函数赋值给 call 特殊方法
    # 这样 Demo 类的实例 d 就可以通过 d(42) 来调用 impl 方法
    __call__ = impl


d = Demo()
print(d(42))
